package com.cloud.pole.shop.service.order;

import java.util.Map;

import com.cloud.pole.shop.model.vo.order.ShopOrderRefundAdminVo;
import com.cloud.pole.shop.model.vo.order.ShopOrderRefundVo;
import com.github.pagehelper.PageInfo;

/*
*2019年3月28日
*cloud-shop
*author:frank-chen
*/
public interface OrderRefundService {
	
	public Long addOrderRefund(String token, Long orderItemId, Integer refundWay, Integer refundGoodStatus, String refundReason, String refundNote,
    		String reasonImages, Integer refundAmount, String mobile) throws Exception;
	
	public boolean cancelOrderRefund(String token, Long refundId) throws Exception;
	
	public String getRefundGoodsStatusStr(int refundGoodsStatus) throws Exception;
	
	public String getRefundStatusStr(int refundStatus) throws Exception;
	
	public String getRefundWayStr(int refundWay) throws Exception;
	
	public PageInfo<ShopOrderRefundVo> getPageOrderRefundList(String token, Integer pageNum, Integer pageSize) throws Exception;

	public ShopOrderRefundVo getOrderRefund(String token, Long refundId) throws Exception;

	/**
	 * 后台分页查询退单记录
	 * <p>Title: selectPageShopOrderRefundAdminList</p>  
	 * <p>Description: </p>  
	 * @param params
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public PageInfo<ShopOrderRefundAdminVo> selectPageShopOrderRefundAdminList(Map<String, String> map, Integer pageNo,
			Integer pageSize)throws Exception ;

	/**
	 * 后台查询退单记录详情
	 * <p>Title: selectOrderAdminById</p>  
	 * <p>Description: </p>  
	 * @param id
	 * @return
	 */
	public ShopOrderRefundAdminVo selectOrderRefundAdminById(String refundId)throws Exception ;
}
